package homework.day05;

import java.io.*;

/**
 * 扫描指定目录中的所有.java文件，并将内容全部输出到控制台
 *
 * 例如将当前项目目录下./src/main/java/io目录中的所有java文件内容输出
 * 到控制台
 *
 * 1:先要定位./src/main/java/io目录(哪个API用来描述目录?)
 * 2:获取该目录下的所有.java文件
 * 3:遍历每一个java文件，然后按行读取里面的每一行字符串
 *   并输出控制台
 *
 *
 * @author Xiloer
 *
 */
public class Test06 {
    public static void main(String[] args) throws IOException {

        File dir = new File("./src/main/java/io");
        //获取该目录下的所有后缀为.java的文件
        File[] subs = dir.listFiles(f->f.getName().endsWith(".java"));
    //写一个for循环遍历所有的.java文件，按行读取里面的每一行字符串
    for(int i=0;i<subs.length;i++){
        //遍历所有.java文件
        File sub = subs[i];
        //将字节从文件中读取出来
        BufferedReader br = new BufferedReader(
                new InputStreamReader(
                        new FileInputStream(sub)
                )
        );
         //缓冲字符输入流提供的方法
         String line;
         //读取一行字符串（读取到换行符停止）并将其返回
        // 如果读取的是空行则返回空字符串，若读取到了流的末尾则返回null
    while((line = br.readLine())!=null){
        //输出读取到的字符串
        System.out.println(line);
    }

    }
}
}

